package com.anjubao.parking.municipal.common.utils;

import cn.hutool.core.date.DateUtil;

import java.math.BigInteger;

/**
 * 城市智慧停车平台Utils工具类
 * 生成各业务编码
 * @author anjubao
 */
public class MunicipalParkingUtils {

    /**
     *根据主键Id以及业务标识生成业务编码
     * @param id 记录主键Id
     * @param code 业务标识 100:停车场业务标识，200:停车场进出业务标识，300:停车场订单业务标识
     * @return 32位业务编码[code(3)+yyMMddHHmm(10)+id(19)]
     */
    public static String generateCode (long id,int code){
        return ""+code+ DateUtil.format(DateUtil.date(), "yyMMddHHmm")+id;
    }

    /**
     * 根据Code转换成相应的记录Id
     * @param code 业务编码(32位)
     * @return id 业务主键Id(19位)
     */
    public static long getIdByCode(String code){
        return new BigInteger(code.substring(32-19)).longValue();
    }

    public static void main(String[] args) {
        System.out.println(DateUtil.format(DateUtil.date(), "yyMMddHHmm"));
        System.out.println(getIdByCode("20019030111114345876501245262012"));
    }
}
